#include "SMPPBroadcastRequestOptionalTLVs.hpp"

using namespace smpp::pdu;

BroadcastRequestOptionalTLVs::BroadcastRequestOptionalTLVs(
const AlertOnMessageDelivery *nAlertOnMessageDelivery,
const BroadcastChannelIndicator *nBroadcastChannelIndicator,
const BroadcastContentTypeInfo *nBroadcastContentTypeInfo,
const BroadcastMessageClass *nBroadcastMessageClass,
const BroadcastServiceGroup *nBroadcastServiceGroup,
const CallbackNum *nCallbackNum,
const CallbackNumAtag *nCallbackNumAtag,
const CallbackNumPresInd *nCallbackNumPresInd,
const DestAddrSubunit *nDestAddrSubunit,
const DestSubaddress *nDestSubaddress,
const DestPort *nDestPort,
const DisplayTime *nDisplayTime,
const LanguageIndicator *nLanguageIndicator,
const MessagePayload *nMessagePayload,
const MsValidity *nMsValidity,
const PayloadType *nPayloadType,
const PrivacyIndicator *nPrivacyIndicator,
const SmsSignal *nSmsSignal,
const SourceAddrSubunit *nSourceAddrSubunit,
const SourcePort *nSourcePort,
const SourceSubaddress *nSourceSubaddress,
const UserMessageReference *nUserMessageReference,
const BroadcastErrorStatus *nBroadcastErrorStatus,
const FailedBroadcastAreaIdentifier *nFailedBroadcastAreaIdentifier):
_AlertOnMessageDelivery(0),
_BroadcastChannelIndicator(0),
_BroadcastContentTypeInfo(0),
_BroadcastMessageClass(0),
_BroadcastServiceGroup(0),
_CallbackNum(0),
_CallbackNumAtag(0),
_CallbackNumPresInd(0),
_DestAddrSubunit(0),
_DestSubaddress(0),
_DestPort(0),
_DisplayTime(0),
_LanguageIndicator(0),
_MessagePayload(0),
_MsValidity(0),
_PayloadType(0),
_PrivacyIndicator(0),
_SmsSignal(0),
_SourceAddrSubunit(0),
_SourcePort(0),
_SourceSubaddress(0),
_UserMessageReference(0),
_BroadcastErrorStatus(0),
_FailedBroadcastAreaIdentifier(0){
	if(nAlertOnMessageDelivery)
		_AlertOnMessageDelivery = 
		new AlertOnMessageDelivery(*nAlertOnMessageDelivery);
	if(nBroadcastChannelIndicator)
		_BroadcastChannelIndicator = 
		new BroadcastChannelIndicator(*nBroadcastChannelIndicator);
	if(nBroadcastContentTypeInfo)
		_BroadcastContentTypeInfo = 
		new BroadcastContentTypeInfo(*nBroadcastContentTypeInfo);
	if(nBroadcastMessageClass)
		_BroadcastMessageClass = 
		new BroadcastMessageClass(*nBroadcastMessageClass);
	if(nBroadcastServiceGroup)
		_BroadcastServiceGroup = 
		new BroadcastServiceGroup(*nBroadcastServiceGroup);
	if(nCallbackNum)
		_CallbackNum = new CallbackNum(*nCallbackNum);
	if(nCallbackNumAtag)
		_CallbackNumAtag = new CallbackNumAtag(*nCallbackNumAtag);
	if(nCallbackNumPresInd)
		_CallbackNumPresInd = 
		new CallbackNumPresInd(*nCallbackNumPresInd);
	if(nDestAddrSubunit)
		_DestAddrSubunit = new DestAddrSubunit(*nDestAddrSubunit);
	if(nDestSubaddress)
		_DestSubaddress = new DestSubaddress(*nDestSubaddress);
	if(nDestPort)
		_DestPort = new DestPort(*nDestPort);
	if(nDisplayTime)
		_DisplayTime = new DisplayTime(*nDisplayTime);
	if(nLanguageIndicator)
		_LanguageIndicator = 
		new LanguageIndicator(*nLanguageIndicator);
	if(nMessagePayload)
		_MessagePayload = new MessagePayload(*nMessagePayload);
	if(nMsValidity)
		_MsValidity = new MsValidity(*nMsValidity);
	if(nPayloadType)
		_PayloadType = new PayloadType(*nPayloadType);
	if(nPrivacyIndicator)
		_PrivacyIndicator = new PrivacyIndicator(*nPrivacyIndicator);
	if(nSmsSignal)
		_SmsSignal = new SmsSignal(*nSmsSignal);
	if(nSourceAddrSubunit)
		_SourceAddrSubunit = 
		new SourceAddrSubunit(*nSourceAddrSubunit);
	if(nSourcePort)
		_SourcePort = new SourcePort(*nSourcePort);
	if(nSourceSubaddress)
		_SourceSubaddress = new SourceSubaddress(*nSourceSubaddress);
	if(nUserMessageReference)
		_UserMessageReference = 
		new UserMessageReference(*nUserMessageReference);
	if(nBroadcastErrorStatus)
		_BroadcastErrorStatus = new BroadcastErrorStatus(
		*nBroadcastErrorStatus);
	if(nFailedBroadcastAreaIdentifier)
		_FailedBroadcastAreaIdentifier = 
		new FailedBroadcastAreaIdentifier(*nFailedBroadcastAreaIdentifier);
}

BroadcastRequestOptionalTLVs::BroadcastRequestOptionalTLVs(
const BroadcastRequestOptionalTLVs &nBroadcastRequestOptionalTLVs):
_AlertOnMessageDelivery(0),
_BroadcastChannelIndicator(0),
_BroadcastContentTypeInfo(0),
_BroadcastMessageClass(0),
_BroadcastServiceGroup(0),
_CallbackNum(0),
_CallbackNumAtag(0),
_CallbackNumPresInd(0),
_DestAddrSubunit(0),
_DestSubaddress(0),
_DestPort(0),
_DisplayTime(0),
_LanguageIndicator(0),
_MessagePayload(0),
_MsValidity(0),
_PayloadType(0),
_PrivacyIndicator(0),
_SmsSignal(0),
_SourceAddrSubunit(0),
_SourcePort(0),
_SourceSubaddress(0),
_UserMessageReference(0),
_BroadcastErrorStatus(0),
_FailedBroadcastAreaIdentifier(0){
	if(nBroadcastRequestOptionalTLVs.getAlertOnMessageDelivery())
		_AlertOnMessageDelivery = 
		new AlertOnMessageDelivery(
		*nBroadcastRequestOptionalTLVs.getAlertOnMessageDelivery());
	if(nBroadcastRequestOptionalTLVs.getBroadcastChannelIndicator())
		_BroadcastChannelIndicator = 
		new BroadcastChannelIndicator(
		*nBroadcastRequestOptionalTLVs.getBroadcastChannelIndicator());
	if(nBroadcastRequestOptionalTLVs.getBroadcastContentTypeInfo())
		_BroadcastContentTypeInfo = 
		new BroadcastContentTypeInfo(
		*nBroadcastRequestOptionalTLVs.getBroadcastContentTypeInfo());
	if(nBroadcastRequestOptionalTLVs.getBroadcastMessageClass())
		_BroadcastMessageClass = 
		new BroadcastMessageClass(
		*nBroadcastRequestOptionalTLVs.getBroadcastMessageClass());
	if(nBroadcastRequestOptionalTLVs.getBroadcastServiceGroup())
		_BroadcastServiceGroup = 
		new BroadcastServiceGroup(
		*nBroadcastRequestOptionalTLVs.getBroadcastServiceGroup());
	if(nBroadcastRequestOptionalTLVs.getCallbackNum())
		_CallbackNum = new CallbackNum(
		*nBroadcastRequestOptionalTLVs.getCallbackNum());
	if(nBroadcastRequestOptionalTLVs.getCallbackNumAtag())
		_CallbackNumAtag = new CallbackNumAtag(
		*nBroadcastRequestOptionalTLVs.getCallbackNumAtag());
	if(nBroadcastRequestOptionalTLVs.getCallbackNumPresInd())
		_CallbackNumPresInd = 
		new CallbackNumPresInd(
		*nBroadcastRequestOptionalTLVs.getCallbackNumPresInd());
	if(nBroadcastRequestOptionalTLVs.getDestAddrSubunit())
		_DestAddrSubunit = new DestAddrSubunit(
		*nBroadcastRequestOptionalTLVs.getDestAddrSubunit());
	if(nBroadcastRequestOptionalTLVs.getDestSubaddress())
		_DestSubaddress = new DestSubaddress(
		*nBroadcastRequestOptionalTLVs.getDestSubaddress());
	if(nBroadcastRequestOptionalTLVs.getDestPort())
		_DestPort = new DestPort(
		*nBroadcastRequestOptionalTLVs.getDestPort());
	if(nBroadcastRequestOptionalTLVs.getDisplayTime())
		_DisplayTime = new DisplayTime(
		*nBroadcastRequestOptionalTLVs.getDisplayTime());
	if(nBroadcastRequestOptionalTLVs.getLanguageIndicator())
		_LanguageIndicator = 
		new LanguageIndicator(
		*nBroadcastRequestOptionalTLVs.getLanguageIndicator());
	if(nBroadcastRequestOptionalTLVs.getMessagePayload())
		_MessagePayload = new MessagePayload(
		*nBroadcastRequestOptionalTLVs.getMessagePayload());
	if(nBroadcastRequestOptionalTLVs.getMsValidity())
		_MsValidity = new MsValidity(
		*nBroadcastRequestOptionalTLVs.getMsValidity());
	if(nBroadcastRequestOptionalTLVs.getPayloadType())
		_PayloadType = new PayloadType(
		*nBroadcastRequestOptionalTLVs.getPayloadType());
	if(nBroadcastRequestOptionalTLVs.getPrivacyIndicator())
		_PrivacyIndicator = new PrivacyIndicator(
		*nBroadcastRequestOptionalTLVs.getPrivacyIndicator());
	if(nBroadcastRequestOptionalTLVs.getSmsSignal())
		_SmsSignal = new SmsSignal(
		*nBroadcastRequestOptionalTLVs.getSmsSignal());
	if(nBroadcastRequestOptionalTLVs.getSourceAddrSubunit())
		_SourceAddrSubunit = 
		new SourceAddrSubunit(
		*nBroadcastRequestOptionalTLVs.getSourceAddrSubunit());
	if(nBroadcastRequestOptionalTLVs.getSourcePort())
		_SourcePort = new SourcePort(
		*nBroadcastRequestOptionalTLVs.getSourcePort());
	if(nBroadcastRequestOptionalTLVs.getSourceSubaddress())
		_SourceSubaddress = new SourceSubaddress(
		*nBroadcastRequestOptionalTLVs.getSourceSubaddress());
	if(nBroadcastRequestOptionalTLVs.getUserMessageReference())
		_UserMessageReference = 
		new UserMessageReference(
		*nBroadcastRequestOptionalTLVs.getUserMessageReference());
	if(nBroadcastRequestOptionalTLVs.getBroadcastErrorStatus())
		_BroadcastErrorStatus = new BroadcastErrorStatus(
		*nBroadcastRequestOptionalTLVs.getBroadcastErrorStatus());
	if(nBroadcastRequestOptionalTLVs.getFailedBroadcastAreaIdentifier())
		_FailedBroadcastAreaIdentifier = new FailedBroadcastAreaIdentifier(
		*nBroadcastRequestOptionalTLVs.getFailedBroadcastAreaIdentifier());
}

BroadcastRequestOptionalTLVs::~BroadcastRequestOptionalTLVs(){
	if(_AlertOnMessageDelivery)
		delete _AlertOnMessageDelivery;
	if(_BroadcastChannelIndicator)
		delete _BroadcastChannelIndicator;
	if(_BroadcastContentTypeInfo)
		delete _BroadcastContentTypeInfo;
	if(_BroadcastMessageClass)
			delete _BroadcastMessageClass;
	if(_BroadcastServiceGroup)
		delete _BroadcastServiceGroup;
	if(_CallbackNum)
		delete _CallbackNum;
	if(_CallbackNumAtag)
		delete _CallbackNumAtag;
	if(_CallbackNumPresInd)
		delete _CallbackNumPresInd;
	if(_DestAddrSubunit)
		delete _DestAddrSubunit;
	if(_DestSubaddress)
		delete _DestSubaddress;
	if(_DestPort)
		delete _DestPort;
	if(_DisplayTime)
		delete _DisplayTime;
	if(_LanguageIndicator)
		delete _LanguageIndicator;
	if(_MessagePayload)
		delete _MessagePayload;
	if(_MsValidity)
		delete _MsValidity;
	if(_PayloadType)
		delete _PayloadType;
	if(_PrivacyIndicator)
		delete _PrivacyIndicator;
	if(_SmsSignal)
		delete _SmsSignal;
	if(_SourceAddrSubunit)
		delete _SourceAddrSubunit;
	if(_SourcePort)
		delete _SourcePort;
	if(_SourceSubaddress)
		delete _SourceSubaddress;
	if(_UserMessageReference)
		delete _UserMessageReference;
	if(_BroadcastErrorStatus)
		delete _BroadcastErrorStatus;
	if(_FailedBroadcastAreaIdentifier)
		delete _FailedBroadcastAreaIdentifier;
}

void BroadcastRequestOptionalTLVs::setAlertOnMessageDelivery(
	const AlertOnMessageDelivery *nAlertOnMessageDelivery) {
	if(_AlertOnMessageDelivery){
		delete _AlertOnMessageDelivery;
		_AlertOnMessageDelivery = 0;
	}
	if(nAlertOnMessageDelivery)
		_AlertOnMessageDelivery = 
		new AlertOnMessageDelivery(*nAlertOnMessageDelivery);
}

const AlertOnMessageDelivery *
	BroadcastRequestOptionalTLVs::getAlertOnMessageDelivery() const {
	return _AlertOnMessageDelivery;
}

void BroadcastRequestOptionalTLVs::setBroadcastChannelIndicator(
	const BroadcastChannelIndicator *nBroadcastChannelIndicator) {
	if(_BroadcastChannelIndicator){
		delete _BroadcastChannelIndicator;
		_BroadcastChannelIndicator = 0;
	}
	if(nBroadcastChannelIndicator)
		_BroadcastChannelIndicator = 
		new BroadcastChannelIndicator(*nBroadcastChannelIndicator);
}

const BroadcastChannelIndicator *
	BroadcastRequestOptionalTLVs::getBroadcastChannelIndicator() const{
	return _BroadcastChannelIndicator;
}

void BroadcastRequestOptionalTLVs::setBroadcastContentTypeInfo(
	const BroadcastContentTypeInfo *nBroadcastContentTypeInfo) {
	if(_BroadcastContentTypeInfo){
		delete _BroadcastContentTypeInfo;
		_BroadcastContentTypeInfo = 0;
	}
	if(nBroadcastContentTypeInfo)
		_BroadcastContentTypeInfo = 
		new BroadcastContentTypeInfo(*nBroadcastContentTypeInfo);
}

const BroadcastContentTypeInfo *
	BroadcastRequestOptionalTLVs::getBroadcastContentTypeInfo() const{
	return _BroadcastContentTypeInfo;
}

void BroadcastRequestOptionalTLVs::setBroadcastMessageClass(
	const BroadcastMessageClass *nBroadcastMessageClass) {
	if(_BroadcastMessageClass){
		delete _BroadcastMessageClass;
		_BroadcastMessageClass = 0;
	}
	if(nBroadcastMessageClass)
		_BroadcastMessageClass = 
		new BroadcastMessageClass(*nBroadcastMessageClass);
}

const BroadcastMessageClass *
	BroadcastRequestOptionalTLVs::getBroadcastMessageClass() const{
	return _BroadcastMessageClass;
}

void BroadcastRequestOptionalTLVs::setBroadcastServiceGroup(
	const BroadcastServiceGroup *nBroadcastServiceGroup) {
	if(_BroadcastServiceGroup){
		delete _BroadcastServiceGroup;
		_BroadcastServiceGroup = 0;
	}
	if(nBroadcastServiceGroup)
		_BroadcastServiceGroup = 
		new BroadcastServiceGroup(*nBroadcastServiceGroup);
}

const BroadcastServiceGroup *
	BroadcastRequestOptionalTLVs::getBroadcastServiceGroup() const{
	return _BroadcastServiceGroup;
}

void BroadcastRequestOptionalTLVs::setCallbackNum(
	const CallbackNum *nCallbackNum){
	if(_CallbackNum){
		delete _CallbackNum;
		_CallbackNum = 0;
	}
	if(nCallbackNum)
		_CallbackNum = 
		new CallbackNum(*nCallbackNum);
}

const CallbackNum *
	BroadcastRequestOptionalTLVs::getCallbackNum() const{
	return _CallbackNum;
}

void BroadcastRequestOptionalTLVs::setCallbackNumAtag(
	const CallbackNumAtag *nCallbackNumAtag){
	if(_CallbackNumAtag){
		delete _CallbackNumAtag;
		_CallbackNumAtag = 0;
	}
	if(nCallbackNumAtag)
		_CallbackNumAtag = 
		new CallbackNumAtag(*nCallbackNumAtag);
}

const CallbackNumAtag *
	BroadcastRequestOptionalTLVs::getCallbackNumAtag() const{
	return _CallbackNumAtag;
}

void BroadcastRequestOptionalTLVs::setCallbackNumPresInd(
	const CallbackNumPresInd *nCallbackNumPresInd){
	if(_CallbackNumPresInd){
		delete _CallbackNumPresInd;
		_CallbackNumPresInd = 0;
	}
	if(nCallbackNumPresInd)
		_CallbackNumPresInd = 
		new CallbackNumPresInd(*nCallbackNumPresInd);
}

const CallbackNumPresInd *
	BroadcastRequestOptionalTLVs::getCallbackNumPresInd() const{
	return _CallbackNumPresInd;
}

const DestAddrSubunit *
	BroadcastRequestOptionalTLVs::getDestAddrSubunit() const{
	return _DestAddrSubunit;
}

void BroadcastRequestOptionalTLVs::setDestAddrSubunit(
	const DestAddrSubunit *nDestAddrSubunit){
	if(_DestAddrSubunit){
		delete _DestAddrSubunit;
		_DestAddrSubunit = 0;
	}
	if(nDestAddrSubunit)
		_DestAddrSubunit = 
		new DestAddrSubunit(*nDestAddrSubunit);
}

void BroadcastRequestOptionalTLVs::setDestSubaddress(
	const DestSubaddress *nDestSubaddress){
	if(_DestSubaddress){
		delete _DestSubaddress;
		_DestSubaddress = 0;
	}
	if(nDestSubaddress)
		_DestSubaddress = 
		new DestSubaddress(*nDestSubaddress);
}

const DestSubaddress *
	BroadcastRequestOptionalTLVs::getDestSubaddress() const{
	return _DestSubaddress;
}

void BroadcastRequestOptionalTLVs::setDestPort(
	const DestPort *nDestPort){
	if(_DestPort){
		delete _DestPort;
		_DestPort = 0;
	}
	if(nDestPort)
		_DestPort = 
		new DestPort(*nDestPort);
}

const DestPort *BroadcastRequestOptionalTLVs::getDestPort() const{
	return _DestPort;
}

void BroadcastRequestOptionalTLVs::setDisplayTime(
	const DisplayTime *nDisplayTime){
	if(_DisplayTime){
		delete _DisplayTime;
		_DisplayTime = 0;
	}
	if(nDisplayTime)
		_DisplayTime = 
		new DisplayTime(*nDisplayTime);
}

const DisplayTime *
	BroadcastRequestOptionalTLVs::getDisplayTime() const{
	return _DisplayTime;
}

void BroadcastRequestOptionalTLVs::setLanguageIndicator(
	const LanguageIndicator *nLanguageIndicator){
	if(_LanguageIndicator){
		delete _LanguageIndicator;
		_LanguageIndicator = 0;
	}
	if(nLanguageIndicator)
		_LanguageIndicator = 
		new LanguageIndicator(*nLanguageIndicator);
}

const LanguageIndicator *
	BroadcastRequestOptionalTLVs::getLanguageIndicator() const{
	return _LanguageIndicator;
}

void BroadcastRequestOptionalTLVs::setMessagePayload(
	const MessagePayload *nMessagePayload){
	if(_MessagePayload){
		delete _MessagePayload;
		_MessagePayload = 0;
	}
	if(nMessagePayload)
		_MessagePayload = 
		new MessagePayload(*nMessagePayload);
}

const MessagePayload *
	BroadcastRequestOptionalTLVs::getMessagePayload() const{
	return _MessagePayload;
}

void BroadcastRequestOptionalTLVs::setMsValidity(
	const MsValidity *nMsValidity){
	if(_MsValidity){
		delete _MsValidity;
		_MsValidity = 0 ;
	}
	if(nMsValidity)
		_MsValidity = 
		new MsValidity(*nMsValidity);
}

const MsValidity *
	BroadcastRequestOptionalTLVs::getMsValidity() const{
	return _MsValidity;
}

void BroadcastRequestOptionalTLVs::setPayloadType(
	const PayloadType *nPayloadType){
	if(_PayloadType){
		delete _PayloadType;
		_PayloadType = 0;
	}
	if(nPayloadType)
		_PayloadType = 
		new PayloadType(*nPayloadType);
}

const PayloadType *
	BroadcastRequestOptionalTLVs::getPayloadType() const{
	return _PayloadType;
}

void BroadcastRequestOptionalTLVs::setPrivacyIndicator(
	const PrivacyIndicator *nPrivacyIndicator){
	if(_PrivacyIndicator){
		delete _PrivacyIndicator;
		_PrivacyIndicator = 0;
	}
	if(nPrivacyIndicator)
		_PrivacyIndicator = 
		new PrivacyIndicator(*nPrivacyIndicator);
}

const PrivacyIndicator *
	BroadcastRequestOptionalTLVs::getPrivacyIndicator() const{
	return _PrivacyIndicator;
}

void BroadcastRequestOptionalTLVs::setSmsSignal(
	const SmsSignal *nSmsSignal){
	if(_SmsSignal){
		delete _SmsSignal;
		_SmsSignal = 0;
	}
	if(nSmsSignal)
		_SmsSignal = 
		new SmsSignal(*nSmsSignal);
}

const SmsSignal *BroadcastRequestOptionalTLVs::getSmsSignal() const{
	return _SmsSignal;
}

void BroadcastRequestOptionalTLVs::setSourceAddrSubunit(
	const SourceAddrSubunit *nSourceAddrSubunit){
	if(_SourceAddrSubunit){
		delete _SourceAddrSubunit;
		_SourceAddrSubunit = 0;
	}
	if(nSourceAddrSubunit)
		_SourceAddrSubunit = 
		new SourceAddrSubunit(*nSourceAddrSubunit);
}

const SourceAddrSubunit *
	BroadcastRequestOptionalTLVs::getSourceAddrSubunit() const{
	return _SourceAddrSubunit;
}

void BroadcastRequestOptionalTLVs::setSourcePort(
	const SourcePort *nSourcePort){
	if(_SourcePort){
		delete _SourcePort;
		_SourcePort = 0;
	}
	if(nSourcePort)
		_SourcePort = 
		new SourcePort(*nSourcePort);
}

const SourcePort *
	BroadcastRequestOptionalTLVs::getSourcePort() const{
	return _SourcePort;
}

void BroadcastRequestOptionalTLVs::setSourceSubaddress(
	const SourceSubaddress *nSourceSubaddress){
	if(_SourceSubaddress){
		delete _SourceSubaddress;
		_SourceSubaddress = 0;
	}
	if(nSourceSubaddress)
		_SourceSubaddress = 
		new SourceSubaddress(*nSourceSubaddress);
}

const SourceSubaddress *
	BroadcastRequestOptionalTLVs::getSourceSubaddress() const{
	return _SourceSubaddress;
}

void BroadcastRequestOptionalTLVs::setUserMessageReference(
	const UserMessageReference *nUserMessageReference){
	if(_UserMessageReference){
		delete _UserMessageReference;
		_UserMessageReference = 0;
	}
	if(nUserMessageReference)
		_UserMessageReference = 
		new UserMessageReference(*nUserMessageReference);
}

const UserMessageReference *
	BroadcastRequestOptionalTLVs::getUserMessageReference() const{
	return _UserMessageReference;
}

void BroadcastRequestOptionalTLVs::setBroadcastErrorStatus(
	const BroadcastErrorStatus *nBroadcastErrorStatus){
	if(_BroadcastErrorStatus){
		delete _BroadcastErrorStatus;
		_BroadcastErrorStatus = 0;
	}
	if(nBroadcastErrorStatus)
		_BroadcastErrorStatus = 
		new BroadcastErrorStatus(*nBroadcastErrorStatus);
}

const BroadcastErrorStatus *
	BroadcastRequestOptionalTLVs::getBroadcastErrorStatus() const{
	return _BroadcastErrorStatus;
}

void BroadcastRequestOptionalTLVs::setFailedBroadcastAreaIdentifier(
	const FailedBroadcastAreaIdentifier
	* nFailedBroadcastAreaIdentifier){
	if(_FailedBroadcastAreaIdentifier){
		delete _FailedBroadcastAreaIdentifier;
		_FailedBroadcastAreaIdentifier = 0;
	}
	if(nFailedBroadcastAreaIdentifier)
		_FailedBroadcastAreaIdentifier = 
		new FailedBroadcastAreaIdentifier(
		*nFailedBroadcastAreaIdentifier);
}

const FailedBroadcastAreaIdentifier *
	BroadcastRequestOptionalTLVs::getFailedBroadcastAreaIdentifier() 
	const{
	return _FailedBroadcastAreaIdentifier;
}

const quint16 BroadcastRequestOptionalTLVs::getLength() const{
	quint16 length(0);
	if(_AlertOnMessageDelivery)
		length += 4 + _AlertOnMessageDelivery->getLength();
	if(_BroadcastChannelIndicator)
		length += 4 + _BroadcastChannelIndicator->getLength();
	if(_CallbackNum)
		length += 4 + _CallbackNum->getLength();
	if(_CallbackNumAtag)
		length += 4 + _CallbackNumAtag->getLength();
	if(_CallbackNumPresInd)
		length += 4 + _CallbackNumPresInd->getLength();
	if(_DestAddrSubunit)
		length += 4 + _DestAddrSubunit->getLength();
	if(_DestSubaddress)
		length += 4 + _DestSubaddress->getLength();
	if(_DestPort)
		length += 4 + _DestPort->getLength();
	if(_DisplayTime)
		length += 4 + _DisplayTime->getLength();
	if(_LanguageIndicator)
		length += 4 + _LanguageIndicator->getLength();
	if(_MessagePayload)
		length += 4 + _MessagePayload->getLength();
	if(_MsValidity)
		length += 4 + _MsValidity->getLength();
	if(_PayloadType)
		length += 4 + _PayloadType->getLength();
	if(_PrivacyIndicator)
		length += 4 + _PrivacyIndicator->getLength();
	if(_SmsSignal)
		length += 4 + _SmsSignal->getLength();
	if(_SourceAddrSubunit)
		length += 4 + _SourceAddrSubunit->getLength();
	if(_SourcePort)
		length += 4 + _SourcePort->getLength();
	if(_SourceSubaddress)
		length += 4 + _SourceSubaddress->getLength();
	if(_UserMessageReference)
		length += 4 + _UserMessageReference->getLength();
	if(_BroadcastErrorStatus)
		length += 4 + _BroadcastErrorStatus->getLength();
	if(_FailedBroadcastAreaIdentifier)
		length += 4 + _FailedBroadcastAreaIdentifier->getLength();
	return length;
}
